home *** CD-ROM | disk | FTP | other *** search
/ MacHack 2000 / MacHack 2000.toast / pc / The Hacks / Genie / Projects / Pedestal / Source / Includes / PedAccess.hh < prev    next >
Encoding:
Text File  |  2000-06-24  |  1.1 KB  |  74 lines

  1. /*    ============
  2.  *    PedAccess.hh
  3.  *    ============
  4.  *    
  5.  *    Implemented by PedAccess.cc
  6.  */
  7.  
  8. #pragma once
  9.  
  10. #include <Types.h>
  11.  
  12. #include "PedObject.hh"
  13.  
  14. class PedFSRef;
  15.  
  16.  
  17. typedef short AccessPath;
  18. typedef SInt8 AccessPerm;
  19.  
  20.  
  21. class PedAccess : public PedObject {
  22. public:
  23.     PedAccess(AccessPath inAccess);
  24.     virtual ~PedAccess();
  25.     
  26.     virtual void Close() = 0;
  27.     
  28. protected:
  29.     AccessPath mAccess;
  30.     bool mPrivate;
  31. };
  32.  
  33.  
  34. class PedAccessRaw : public PedAccess {
  35. protected:
  36.     PedAccessRaw(AccessPath inAccess);
  37.     virtual ~PedAccessRaw();
  38.     
  39. public:
  40.     virtual void Close();
  41.     
  42.     virtual long Read(long inCount, char *inBuf);
  43.     
  44. };
  45.  
  46.  
  47. class PedAccessData : public PedAccessRaw {
  48. public:
  49.     PedAccessData(AccessPath inAccess);
  50.     PedAccessData(const PedFSRef &inFSRef, AccessPerm inPerm);
  51.     virtual ~PedAccessData();
  52.     
  53. };
  54.  
  55.  
  56. class PedAccessRF : public PedAccessRaw {
  57. public:
  58.     PedAccessRF(AccessPath inAccess);
  59.     PedAccessRF(const PedFSRef &inFSRef, AccessPerm inPerm);
  60.     virtual ~PedAccessRF();
  61.     
  62. };
  63.  
  64.  
  65. class PedAccessRes : public PedAccess {
  66. public:
  67.     PedAccessRes(AccessPath inAccess);
  68.     PedAccessRes(const PedFSRef &inFSRef, AccessPerm inPerm);
  69.     virtual ~PedAccessRes();
  70.     
  71.     virtual void Close();
  72.     
  73. };
  74.